﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BL;
using DAL;

namespace QuanLyCHTrangSuc
{
    public partial class QuanLyThongKe : Form
    {
        List<ThongKeDAL> dsThongKe = new List<ThongKeDAL>();
        List<ThongKeDAL> tim = new List<ThongKeDAL>();
        ThongKeDAL tkbc=new ThongKeDAL();
        public QuanLyThongKe()
        {
            InitializeComponent();
        }

        private void btLamMoi_Click(object sender, EventArgs e)
        {
            Clear();
        }

        private void Clear()
        {
            txtMaTK.Text = "";
            dtNgayTK.Text = DateTime.Now.ToShortDateString();
        }

        private void QuanLyThongKe_Load(object sender, EventArgs e)
        {
            LayDS();
        }
        private void LayDS()
        {
            dsThongKe = ThongKeBL.LayDsThongKe();
            if (dsThongKe.Count == 0)
            {
                MessageBox.Show(" Không Tìm Thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            for (int i = 0; i < dsThongKe.Count; ++i)
            {

                ListViewItem lvi = new ListViewItem();
                lvi.Text = dsThongKe[i].MaThongKe;
                lvi.SubItems.Add(dsThongKe[i].NgayThongKe.ToString());
                lvi.Tag = (object)dsThongKe[i].MaThongKe;
                lvQuanLyTKBC.Items.Add(lvi);

            }
        }

        private void btTim_Click(object sender, EventArgs e)
        {
            lvQuanLyTKBC.Items.Clear();
            tim = QuanLyThongKeBL.Tim(txtMaTK.Text);
            if (tim.Count == 0)
            {
                MessageBox.Show(" Không Tìm Thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            for (int i = 0; i < tim.Count; ++i)
            {

                ListViewItem lvi = new ListViewItem();
                lvi.Text = tim[i].MaThongKe;
                lvi.SubItems.Add(tim[i].NgayThongKe.ToString());
                lvQuanLyTKBC.Items.Add(lvi);
            }
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if(txtMaTK.Text == "")
            {
                MessageBox.Show("Phải Nhập Mã Thống Kê Báo Cáo!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtMaTK.Focus();
                return;
            }
            DateTime ngaytk = Convert.ToDateTime(dtNgayTK.Value.ToShortDateString());
            QuanLyThongKeBL.Them(txtMaTK.Text, ngaytk);
            lvQuanLyTKBC.Items.Clear();
            LayDS();
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            dsThongKe = ThongKeBL.LayDsThongKe();
            if (dsThongKe.Count == 0)
            {
                MessageBox.Show(" Dữ liệu không tồn tại để thực hiện chức năng xóa này!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                DialogResult XOA = MessageBox.Show(" Bạn thực sự muốn xóa thống kê có mã là  " + tkbc.MaThongKe + "?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (XOA == DialogResult.Yes)
                {
                    QuanLyThongKeBL.Xoa(tkbc.MaThongKe);
                    lvQuanLyTKBC.Items.Remove(this.lvQuanLyTKBC.SelectedItems[0]);
                    Clear();
                }
                else
                {
                    MessageBox.Show(" Bạn đã không xóa!", " Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }

        private void lvQuanLyTKBC_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.lvQuanLyTKBC.SelectedItems.Count > 0)
            {
                ListViewItem lvi = this.lvQuanLyTKBC.SelectedItems[0];

                // gan' thuoc tinh tu lvi qua tkbc               
                tkbc.MaThongKe = lvi.SubItems[0].Text;
                tkbc.NgayThongKe = Convert.ToDateTime(lvi.SubItems[1].Text);

                //gán thuộc tính từ lvi qua textbox
                txtMaTK.Text = lvi.SubItems[0].Text;
                dtNgayTK.Value = Convert.ToDateTime(lvi.SubItems[1].Text);
            }
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime ngaytk = Convert.ToDateTime(dtNgayTK.Value.ToShortDateString());
                QuanLyThongKeBL.Sua(tkbc.MaThongKe, ngaytk);
            }
            catch (Exception)
            {
                MessageBox.Show("Sửa Thất Bại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            lvQuanLyTKBC.Items.Clear();
            LayDS();
        }
    }
}
